/*
 * flex cal.l
 * macos: gcc lex.yy.c -ll
 * linux: gcc lex.yy.c -lfl
 *
 */


%{
# include "cal.tab.h"
int yyerror(char *s);
%}

%%
"+"	{ return ADD; }
"-"	{ return SUB; }
"*"	{ return MUL; }
"/"	{ return DIV; }
"|"     { return ABS; }
"("     { return OP; }
")"     { return CP; }
[0-9]+	{ yylval = atoi(yytext); return NUMBER; }

\n      { return EOL; }
"//".*  
[ \t]   { /* ignore white space */ }
.	{ yyerror(yytext); }
%%
